import angular from 'angular';
import angularStrap from 'angular-strap';
import {
  ConfirmProvider,
  ngBindHtmlDirective,
  multiLevelTreeDirective,
  treeSelectDirective,
  ngRadioDirective,
  ngSelectDirective,
  ngDatePickerDirective,
  ngToastService,
  ngToastContainerDirective,
  ngImagePreviewDirective,
  ngResizeDirective,
  LoadingProvider,
  ngLoadingDirective,
  ngPopoverDirective,
  ngRowDirective,
  ngColDirective,
  ngTinymceDirective
} from './components';

var moduleName = 'ngComponents';

angular
  .module(moduleName, [angularStrap])
  .provider('$confirm', ConfirmProvider)
  .provider('$loading', LoadingProvider)
  .directive('ngBindHtml', ngBindHtmlDirective)
  .directive('multiLevelTree', multiLevelTreeDirective)
  .directive('treeSelect', treeSelectDirective)
  .directive('ngRadio', ngRadioDirective)
  .directive('ngSelect', ngSelectDirective)
  .directive('ngDatePicker', ngDatePickerDirective)
  .directive('ngImagePreview', ngImagePreviewDirective)
  .directive('ngResize', ngResizeDirective)
  .directive('ngLoading', ngLoadingDirective)
  .directive('ngPopover', ngPopoverDirective)
  .directive('ngRow', ngRowDirective)
  .directive('ngCol', ngColDirective)
  .directive('ngTinymce', ngTinymceDirective)
  .service('ngToast', ngToastService)
  .directive('ngToastContainer', ngToastContainerDirective);

export default moduleName;
